Nützliche SQL Skripte für die Analyse der aufgezeichneten Pakete
TrafMeter enthält kein Tool für die Erstellung von SQL Analysen aus einer Paket Logging Datenbank. Für die beigefügten Beispiele haben wie die im Lieferumfang des Microsoft SQL Servers enthaltenen Tools benutzt.
1. Den gesamten verursachten Traffic pro Filter ermitteln
select filterid, sum(sent),sum(recv) from packets group by filterid |
2. Den gesamten verursachten Traffic pro Filter pro Tag ermitteln
select filterid as filterid, sum(sent) as sent, sum(recv) as recv from packets where datediff(day,'2002-11-24',ts)=0 group by filterid order by filterid |
3. Den gesamten verursachten Traffic pro Filter für einen bestimmten Monat ermitteln
select filterid as filterid, sum(sent) as sent, sum(recv) as recv from packets where datediff(month,'2002-11-01',ts)=0 group by filterid order by filterid |
4. Den gesamten verursachten Traffic eines Filters für einen bestimmten Tag in einem bestimmten Monat ermitteln
Setzen Sie die Variable @dd auf den ersten Tag des entsprechenden Monats.
declare @dd datetime set @dd='2002-11-01' select datediff(day,@dd,ts) as mday, sum(sent) as sent, sum(recv) as recv from packets where (filterid=1 AND (datediff(month,@dd,ts)=0)) group by datediff(day,@dd,ts) order by datediff(day,@dd,ts) |
Das obige Beispiel zeigt die Datum anhand einer auf 0 basierenden Indexes. D.h. der erste Tag im Monat ist 0, der zweite Tag ist 1, etc. Um dies zu vermeiden, kann folgendes Skript mit einer temporären Tabelle verwendet werden:
drop table #p1 go declare @dd datetime set @dd='2002-11-01' select datediff(day,@dd,ts) as mday, sum(sent) as sent, sum(recv) as recv into #p1 from packets where (filterid=1 AND (datediff(month,@dd,ts)=0)) group by datediff(day,@dd,ts) go update #p1 set mday=mday+1 go select * from #p1 order by mday |
5. Den gesamten verursachten Traffic eines bestimmten Hosts eines bestimmten Filter in einem bestimmten Monat ermitteln
select dst_ip, sum(sent) as sent, sum(recv) as recv from packets where (filterid=1 AND (datediff(month,'2002-11-01',ts)=0)) group by dst_ip |